/*
 * AddonBookCityObserver.h
 *
 *  Created on: 2010-01-11
 *      Author: PeterMei
 */

#ifndef __ADDONBOOKCITYSTUBOBSERVER_H__
#define __ADDONBOOKCITYSTUBOBSERVER_H__

#include "QArray.h"
#include "cx_typedef.h"
#include "QOsBase.h"
#include "QList.h"
#include "cx_debug.h"
#include "system_define.h"

#include "QWString.h"

#include "addon_features.h"
#include "addon_std.h"
#include "addon_objbase.h"
#include "addon_setting.h"
#include "addon_command.h"

class MQHttpNotifier
{
public:
	virtual void HandleHttpEvent(QINT aStatus,void* aData) = 0;
};

class MQDownloadNotifier
{
public:
	virtual void HandleDownloadStatus(CQWString& filename,CQWString& url,QINT aStatus,void* aData) = 0;
	virtual void HandleDownloadEvent(CQWString& filename,QINT aEvent,void* aData) = 0;
	virtual void HandleGetLinkEvent(CQWString& filename,QINT chapterId,QINT aEvent,void* aData) = 0;
	virtual void NotifyProgress(CQWString& filename, QINT aReceived, QINT aTotalSize,float per) = 0;
	virtual void NotifyProgress(CQWString& filename, QINT aReceived) = 0;
	virtual void NotifyAddDownTask(CQWString& filename,CQWString& url,QINT aStatus) = 0;
	virtual void NotifyLaunchTask() = 0;
	virtual void NotifyDownLimit() = 0;
};

class MQOnlineNotifier
{
public:
	virtual void HandleOnlineStatus(CQWString& filename,CQWString& bookname,QINT aStatus,void* aData) = 0;
	virtual void HandleOnlineEvent(CQWString& filename,QINT aEvent,void* aData) = 0;
	virtual void HandleOnlineGetLinkEvent(CQWString& filename,QINT chapterId,QINT aEvent,void* aData) = 0;
	virtual void NotifyOnlineProgress(CQWString& filename, QINT aReceived, QINT aTotalSize,float per) = 0;
	virtual void NotifyOnlineProgress(CQWString& filename, QINT aReceived) = 0;
};

class MQUpdateNotifier
{
public:
    virtual void HandleUpdateEvent(CQWString url, QINT status,CQWString version, QUINT32 seq) = 0;
};
#endif
